package com.micro.ai.auth.service;

/**
 * 短信服务接口
 * 
 * @author micro-ai
 * @since 0.0.1
 */
public interface SmsService {

    /**
     * 发送短信验证码
     * 
     * @param phone 手机号
     * @param code 验证码
     * @return 是否发送成功
     */
    boolean sendSmsCode(String phone, String code);

    /**
     * 验证短信验证码
     * 
     * @param phone 手机号
     * @param code 验证码
     * @return 是否验证通过
     */
    boolean validateSmsCode(String phone, String code);

    /**
     * 生成短信验证码
     * 
     * @return 验证码
     */
    String generateSmsCode();

    /**
     * 检查发送频率限制
     * 
     * @param phone 手机号
     * @return 是否可以发送
     */
    boolean canSendSms(String phone);
}
